package com.ghc.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer;
import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter;
import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer;
import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerSecurityConfigurer;

@Configuration
public class OauthServerConfig extends AuthorizationServerConfigurerAdapter {

    /**
     * 认证服务器是以api接口的方式对外提供服务， 校验合法性并生成令牌， 校验令牌
     * 那么以api接口方式的话，就涉及到接口访问权限， 我们需要在这里进行必要的配置
     * @param security 验证
     * @throws Exception 异常
     */
    @Override
    public void configure(AuthorizationServerSecurityConfigurer security) throws Exception {
        super.configure(security);
    }


    /**
     * 客户端详情配置 比如 client_id, secret
     * 当前这个服务就如同QQ。， 拉钩网作为客户端需要qq平台进行登录授权认证， 提前需要到QQ平台注册， QQ会给拉勾网
     * 办法client_id等必要的参数， 表明客户端是谁
     * @param clients 客户端
     * @throws Exception 异常
     */
    @Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {

        super.configure(clients);
    }

    /**
     * 认证服务器是玩转token的， 配置token令牌管理相关 （字符串， 当下）
     * @param endpoints 令牌
     * @throws Exception 异常
     */
    @Override
    public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
        super.configure(endpoints);
    }
}
